//页面加载完成
$(function () {


    var  accident_datagrid =  $("#accident_datagrid");

    var accident_form =  $("#accident_form");

    var accident_dialog =  $("#accident_dialog");

    var searchBox=$("#searchBox");

    searchBox.searchbox({
        searcher:function(value,name){
            accident_datagrid.datagrid("load",{keyword:value});
        },
        prompt:'关键字'
    });


    //初始员工列表界面
   accident_datagrid.datagrid({
        fit: true,
        fitColumns: true,
        striped: true,
        url: '/audit/list',
        rownumbers: true,
        pagination: true,
        singleSelect: true,
        columns: [[
            {field: 'id', hidden: true},
            {field: 'addr', title: '报案地址', width: 100,formatter: addressFormatter},
             {field: 'tel', title: '报案人电话', width: 100,formatter: telFormatter},
            {field: 'carNo', title: '车牌号', width: 100,formatter: carNumberFormatter},
            {field: 'sn', title: '保单编号', width: 100,formatter: policySnFormatter},
            {field: 'state', title: '状态', width: 100,formatter:statusFormatter},
            {field: 'employee', title: '处理员工', width: 100, formatter: employeeFormatter},
            {field: 'casesDescription', title: '事故描述', width: 100},
            {field: 'responsibility', title: '责任认定', width: 100},
            {field: 'loss', title: '赔损单', width: 100,formatter:lossFormatter},
            {field: 'remark', title: '备注', width: 100}

        ]],
        toolbar: "#tb"
    })
        //将方法绑定到对象中
        var cmdObj = {
            //受理事故
            handlerAccident:function(){//审核通过
                //选中一条需要编辑的数据
                var row = accident_datagrid.datagrid("getSelected");
                if (!row) {
                    $.messager.alert("温馨提示", "亲,请选择一条需要审核的数据", "error");
                    return;
                }
                if (row.state==3){
                    $.messager.alert("温馨提示", "亲,此条数据已审核", "error");
                    return;
                }
                $.messager.confirm('温馨提示', '您想要审核该事故吗？', function(r){
                    if (r){
                        $.post("accident/handlerAccident",{id:row.id,stateId:3},function (data) {
                            if (data.success){
                                $.messager.alert('温馨提示','审核成功','info',function () {
                                    cmdObj.reloadAccident();
                            })}else{
                                $.messager.alert('温馨提示',data.msg,'error')
                            }
                        },"json");
                    }
                });


            },
            //不通过
            handlerAccidentNo:function(){
                //选中一条需要编辑的数据
                var row = accident_datagrid.datagrid("getSelected");
                if (!row) {
                    $.messager.alert("温馨提示", "亲,请选择一条需要拒绝的数据", "error");
                    return;
                }
                if (row.state==3){
                    $.messager.alert("温馨提示", "亲,此条数据已审核", "error");
                    return;
                }
                $.messager.confirm('温馨提示', '您想要拒审该数据吗？', function(r){
                    if (r){
                        $.post("accident/handlerAccident",{id:row.id,stateId:5},function (data) {
                            if (data.success){
                                $.messager.alert('温馨提示','操作成功,此数据待重新处理','info',function () {
                                    cmdObj.reloadAccident();
                            })}else{
                                $.messager.alert('温馨提示',data.msg,'error')
                            }
                        },"json");
                    }
                });


            },
            reloadAccident:function () {
                accident_datagrid.datagrid("reload");
            },
            cancelAccidentLoss:function () {
                $("#input_dialog_view").dialog("close");

            }

        }
        //使用js来绑定事件  使用了属性过滤器来完成该操作
    $("a[data-cmd]").click(function(){
        var cmd = $(this).data("cmd");
        //调用方法
        cmdObj[cmd]();
    });



    //初始化对话框查看
    $("#input_dialog_view").dialog({
        title:'赔损单明细',
        width: 350,
        height: 370,
        closed: true,
        buttons:"#cancel_view"
    })


})


//员工格式化操作
function employeeFormatter(value, row, index) {
    return value?value.userName:"";
}
//地址格式化操作
function addressFormatter(value, row, index) {
    return row.cases?row.cases.address:"";
}
//电话格式化操作
function telFormatter(value, row, index) {
    return row.cases?row.cases.tel:"";
}
//车牌格式化操作
function carNumberFormatter(value, row, index) {
    return row.cases?row.cases.carNumber:"";
}
//保单编号格式化操作
function policySnFormatter(value, row, index) {
    return row.cases?row.cases.policySn:"";
}
//接通员工格式化
function statusFormatter(value, row, index) {
    if (value==3){
        return '已审核';
    }else{
        return '<span style=\"color: red\">待审核</span>';
    }
}
//赔损单格式化
function lossFormatter(value, row, index) {
    return '<a onclick="openInputDialogForView('+index+')">查看</a>';
}
//赔损单弹出/查看
function openInputDialogForView(index) {
    $("#input_form_view").form("clear");
    $("#input_dialog_view").dialog({
        closed:false
    });
    $("#input_form_view input").prop("disabled",true);
    $("#accident_datagrid").datagrid("selectRow",index);//根据行索引选中行
    var row = $("#accident_datagrid").datagrid("getSelected");
    $.post("accident/getLossInfo",{accidentId:row.lossId},function (data) {
            $("#input_form_view").form("load",data);
    });
}
